Here are a few lighting techniques I developed that run on native N64 hardware at 640x480 resolution and high frame rates. I simulate per pixel lighting by controlling texture coordinates and a texture of a lit plane. I render the square shadow by placing rectangle where the shadow should be. The shadow cast on the monkey is done using a variant of shadow volumes and the monkey casts shadows on the ground by variation on shadow maps. You can download the ROM here https://github.com/lambertjamesd/n64graphicsdemo/releases/tag/v1.0